// pages/health-encyclopedia/article-detail.js
Page({
	data: {
		articleData: {
			title: '利用分餐制可有效避免幽门螺旋杆菌感染',
			author: '王敏',
			date: '2020/09/09',
			content: '患者若发现感染HP之后,原则上建议是"一经发现,赶尽杀绝",但仍要按照患者具体情况具体分析。患者根据自身情况按时间规范使用药物,足量足疗程。需要额外提醒的是,患者在进行规范根除治疗之后,要注意停药时间充足后再做复查,不然可能会出现假阳性或假阴性的结果。'
		}
	},

	onLoad(options) {
		console.log('文章详情页面加载，参数:', options)
		
		// 从页面参数获取文章信息
		if (options.title) {
			this.setData({
				'articleData.title': decodeURIComponent(options.title)
			})
		}
		if (options.author) {
			this.setData({
				'articleData.author': decodeURIComponent(options.author)
			})
		}
		if (options.date) {
			this.setData({
				'articleData.date': decodeURIComponent(options.date)
			})
		}
		if (options.content) {
			this.setData({
				'articleData.content': decodeURIComponent(options.content)
			})
		}

		// 如果有文章ID，从服务器加载文章详情
		if (options.id) {
			this.loadArticleDetail(options.id)
		}
	},

	// 加载文章详情
	loadArticleDetail(articleId) {
		wx.showLoading({
			title: '加载中...'
		})

		wx.request({
			url: `http://localhost:8080/health/article/${articleId}`,
			method: 'GET',
			header: {
				'Content-Type': 'application/json'
			},
			success: (res) => {
				wx.hideLoading()

				if (res.statusCode === 200 && res.data) {
					let articleData = res.data

					// 处理数据格式
					if (typeof articleData === 'string') {
						try {
							articleData = JSON.parse(articleData)
						} catch (e) {
							console.error('JSON解析失败:', e)
							return
						}
					}

					// 检查数据是否在嵌套对象中
					if (articleData.data && typeof articleData.data === 'object') {
						articleData = articleData.data
					}

					// 处理文章数据
					const processedData = {
						title: articleData.title || '利用分餐制可有效避免幽门螺旋杆菌感染',
						author: articleData.author || '王敏',
						date: articleData.date || articleData.publishDate || '2020/09/09',
						content: articleData.content || articleData.articleContent || '患者若发现感染HP之后,原则上建议是"一经发现,赶尽杀绝",但仍要按照患者具体情况具体分析。患者根据自身情况按时间规范使用药物,足量足疗程。需要额外提醒的是,患者在进行规范根除治疗之后,要注意停药时间充足后再做复查,不然可能会出现假阳性或假阴性的结果。'
					}

					this.setData({
						articleData: processedData
					})

					wx.showToast({
						title: '文章加载成功',
						icon: 'success'
					})
				} else {
					console.error('加载文章详情失败:', res.statusCode)
					wx.showToast({
						title: '文章加载失败',
						icon: 'none'
					})
				}
			},
			fail: (error) => {
				wx.hideLoading()
				console.error('网络请求失败:', error)
				wx.showToast({
					title: '网络请求失败',
					icon: 'none'
				})
			}
		})
	}
}) 